1. Field of the Invention
The present invention relates to a computer system utilizing a graphical user interface with hysteresis. More particularly, it relates to a computer graphical user interface that minimizes the deleterious effects of small, unintentional movements of the interface device that controls the display cursor appearing on the computer monitor display screen. The invention further relates to a computer readable medium upon which a computer program is stored, and a computer implemented method of inhibiting the accidental selection of a region of a computer display screen.
Computer systems with graphical user interfaces commonly include a display on the computer's monitor of a computer-rendered display cursor pointing to a particular one of the display's pixels (picture elements). The pixel-based display is typically under the control of a computer input device, such as a computer mouse, trackball, touch-sensitive pad or joystick, designed specifically for cursor control.
It is common for the display screens of computer graphic applications to include a number of well defined selectable regions, often (but not necessarily) rectangular, each of which "responds" differently to user input, in the specific sense that when the display cursor enters one of these regions, the computer's state changes, and, simultaneously, the display changes to indicate the change of state.
The following is a more detailed explanation of computer states and of how they respond to cursor location. Every computer commonly sold has a finite (but potentially very large) list of possible states. A computer state is a distinct program (or procedure or algorithm) for processing computer inputs; the computer state changes whenever the computer changes its algorithm for processing computer inputs. For example, when the "caps lock" key on a standard keyboard has been pressed, the computer will process subsequent keystrokes differently than it otherwise would. A computer with its caps lock key depressed thus behaves like a different machine from a computer without its caps lock key depressed. Standard computer science terminology calls two such states two different "virtual machines," since the single computer behaves like two different machines. The "caps lock" example is a non-typical but very easy to grasp example of a state change.
It is more typical in computer terminology to talk about state changes which are controlled by computer software. On computers with graphical user interfaces and mouse-controlled cursors, state changes are often effected by mouse moves. For example, whenever there is a change in the action the computer is programmed to take, in response to a subsequent mouse click, the computer has, by definition of a "computer state", entered a new state. It is common in turn to have the computer's programmed response to a mouse click (and perhaps also to other computer inputs) depend on the cursor position. On a typical computer graphics screen there are a number of rectangular regions depicted, each having the property such that when the cursor enters one of these regions the computer is caused to enter a state associated with the region. These regions are called selectable regions. On every screen there is at least one such region, but normally there are two or more.
Typically, such a state change is indicated by a change in the shape or color of the cursor or by a change in the color of the selectable region. For example, publicly accessible pages on the Internet typically seen on a computer monitor when the Internet is accessed, are written in HTML (Hyper-Text Markup Language). Any one HTML page can include references or links to another HTML page. The link may be represented in the HTML page by a section of text or by a graphical icon. In the computer browsers which display HTML pages on the Internet, the region on an HTML page representing a link to another page is a selectable region. When the cursor enters any such selectable region the browser, which is implemented in computer software, enters a state in which the next mouse click (or equivalent action) will cause the indicated linked page to be loaded onto the display screen as the current page. Thus, in this example, the state of the computer is under the control of computer software (the browser).
In many Internet browsers the cursor on the computer display screen changes shape when it is moved to or enters a selectable region or when it is moved or transits from any one region to any other region. In one popular browser the cursor changes from its default arrow shape to a rendition of a pointing hand when the selectable region is entered, and then changes back to an arrow when a non-selectable region is reentered. The above Internet example is just one of many examples of computer graphic software applications in which the computer display includes a number of cursor-selectable regions, and in which selecting a new region causes the computer to enter a new state.
If a cursor-selectable region on the display screen is small or narrow, which is often the case, it may require precise manipulation of the cursor by the computer operator to select it. In moving the cursor across the screen to move from a non-selectable region to a selectable region, small, unintended motions or jitters of the computer operator's hand on the cursor control device may cause the cursor to move in and out of the selected region so that the region becomes unintentionally deselected. This is a very common occurrence, and may happen when using a computer mouse, for example, as a result of clicking the mouse button, or as a consequence of other accidental motion of the hand that holds the mouse. Such accidental deselection of a region, or accidental selection of an undesired adjacent region, is a hindrance to proper operation of a graphical user interface. It will hinder operation of the computer system severely in cases in which the state transition associated with the change of region is time consuming, i.e., when it takes a long time for the computer program to effect the desired change.
2. Description of the Related Art
It is known in the art to design digital logic for management of a cursor control device in such a manner that jitter in the cursor control device is smoothed out by the control device's digital logic management electronic circuit. The result is that the signal transmitted from the control device to the computer is modified in such a way that it appears to the computer that the device is moving smoothly, without jitter. Such an invention is described in U.S. Pat. No. 5,027,109, issued to Paul M. Donovan and Swee T. Chia, entitled, "Apparatus and Method for Minimizing Undesired Cursor Movement in a Computer Controlled Display System."
It can be said of such an invention as the '109 patent that it corrects the control device's jitter before the device's signal reaches the computer. In fact, the input device really does jitter, but the signal it sends to the computer is corrected so as to make it appear that it is moving smoothly. While such an invention is useful, it has the drawback that it requires the computer system incorporate special digital electronic logic for control of the cursor control device. Thus, it is a solution whose availability depends on the decisions of the manufacturers of computer systems whether or not to incorporate such special digital logic into their cursor control devices. If, as is likely, the computer system lacks such special digital logic for jitter minimization, then all the deleterious consequences of jitter in the cursor control device will remain.
Accordingly, it is clear that what is needed in the art is a means for ameliorating the deleterious effects of jitter in the cursor control device without the necessity of adding to the computer system special digital logic for correcting the signal the cursor control device transmits to the computer. Disclosed below is a new and novel computer system, computer readable medium, and method for compensating for jitter in the graphical control device without the necessity of adding special digital control logic to the control device.